﻿using System.Collections.Generic;
using PrearrangedChaos.AgileZen.Service.Model;
using PrearrangedChaos.AgileZen.Service.Rest;

namespace PrearrangedChaos.AgileZen.Service
{
    internal class ZenTagCollection<TCollection> : ZenResourceCollection<TCollection, ITag>, IZenTagEnumerable
        where TCollection : class, IPagingResponse<ITag>
    {
        public IZenTagEnumerable WithStories
        {
            get
            {
                AddEnrichment("stories");
                return this;
            }
        }

        public ZenTagCollection(string apiKey, int pageSize, int projectId)
            : base(apiKey, RestArguments.Tag(projectId, pageSize: pageSize))
        {
        }

        public ZenTagCollection(string apiKey, int pageSize, int projectId, int storyId)
            : base(apiKey, RestArguments.Tag(projectId, storyId, pageSize))
        {
        }
    }
}